// 购物车结算页面js

var list = {
		
	// 页面加载立刻执行
	immediately:function() {
		
        var dom = this.method;

		// 商品数量为1时,不可以点击减号
		dom.hide_minus_sign();

        // 执行价格计算
        dom.calculation();

        //清空购物车
        dom.deleteShopCartAll();
        
        //点击商品名返回商品详情
        $(".backdetail").click(function(){
            location.href = "detail.html";
        });
		
        //全选事件
        $(".select_checkbox").click(function(){
        	
        	// 全选方法
        	dom.select_all($(this));
        });
        
        // 单选
        $(".cart-checkbox1 input").click(function(){
        	
        	// 单选方法
            dom.select_radio($(this));
        });
        
        // 设备数量+1
        $(".item-amount .plus").click(function(){
        	
        	// 设备数量+1方法
        	dom.equipment_add_one($(this));
		});
		
		// 设备数量-1
        $(".item-amount .minus").click(function(){
        	dom.equipment_reduce_one($(this));
        });
       	
        // 删除商品
        $(".delCart").click(function(){
        	dom.delete_cart($(this));
        });
        
        // 结算按钮点击事件。结算点击事件需要先判断是否有报备商品，再修改商品的数量，最后结算
        $(".submit-btn").click(function(){

        	// 判断是否可以结算
        	if($(this).hasClass("submit-btn-disabled")){
        		return;
        	}
			
        	dom.updateNum_param();

            location.href="shopcart2.html";
        });
    
	},
	
	// 功能方法
	method:{
		
		//判断选中的商品是否有价格
		judgePrice:function(){
			var boolPrice = false;
			var father = null;
			var	price;
			$("input[name='shopCartCB']:checked").each(function(){
				father = $(this).parent().parent().parent().parent().parent().parent();
				price = father.find(".td-sum em").text();
				if(Number(0)>=Number(price)){
					boolPrice = false;
					return false;
				}else{
					boolPrice = true;
				}
			});
			if(boolPrice){
				list.method.changeButton(1);
			}else{
				list.method.changeButton(0);
			}
		},
		
		// 商品数量为1时,不可以点击
        hide_minus_sign:function() {
        	
        	// 每个商品的购买数量
        	var nums = $(".text-amount");
        	for(var i=0;i<nums.length;i++){
        		if($(nums[i]).val()=="1"){
        			$(nums[i]).parent().find(".minus").addClass("no-minus");
        		}
        	}
        },
		
		// 全选方法
		select_all:function(obj) {
			
			// 购物车所有商品的id
            var inputs = $(".cart-checkbox1 input"),
            
            	//计算合计价格
            	sumDom = $(".item-holder .td-sum em"),
            	sum = Number(0);
            
            // 计算价格
            for(var i=0;i<sumDom.length;i++){
                sum+=Number($(sumDom[i]).text());
            }
            
            // 全选if,未全选else
            if(obj.prop("checked")){
                inputs.prop("checked",true);
                $(".select_checkbox").prop("checked",true);
                $(".item-holder").addClass("selected");
                
                // 选中几件商品的数量
                var num = $(".cart-checkbox1 input[type='checkbox']:checked").parent().parent().parent().nextAll(".td-amount").find(".text-amount"),
                	number = Number(0);
                for(var i=0;i<num.length;i++){
                	number+=Number($(num[i]).val());
                }
                $("#J_SelectedItemsCount").text(number);
                $(".price-sum em").text(sum.toFixed(2));
            }else{
                inputs.removeAttr("checked");
                $(".select_checkbox").removeAttr("checked");
                $(".item-holder").removeClass("selected");
                $("#J_SelectedItemsCount").text("0");
                $(".price-sum em").text(0);
            }
            
            // 判断价格，判断结算是否可选
            list.method.judgePrice();
		},
		
		// 单选方法
		select_radio:function(obj) {
			
			var sign = obj.attr("data-code"), // 商品id
				
				// 根据id获取父级元素class为item-holder的div
				father = obj.parent().parent().parent().parent().parent().parent(),
            	//father = $("div[data-code="+sign+"]"),
            	
            	// 选择的商品的应付金额
            	totalprice = Number(father.find(".td-sum em").text());
			
            if(obj.prop("checked")){
                father.addClass("selected");
                
                // number所有选择的商品的总金额
                var number=Number($(".price-sum em").text())+totalprice;
                number=number.toFixed(2);
                $(".price-sum em").text(number);
            }else{
                father.removeClass("selected");
                
                // number所有选择的商品的总金额
                var number=Number($(".price-sum em").text())-totalprice;
                number=number.toFixed(2);
                $(".price-sum em").text(number);
            }
            
            // 选中几件商品的数量
            var num = $(".cart-checkbox1 input[type='checkbox']:checked").parent().parent().parent().nextAll(".td-amount").find(".text-amount"),
            	number = Number(0);
            for(var i=0;i<num.length;i++){
            	number+=Number($(num[i]).val());
            }
            $("#J_SelectedItemsCount").text(number);
            
            
            // 判断价格，判断结算是否可选
            list.method.judgePrice();
		},
		
		// 设备数量+1
		equipment_add_one:function(obj) {
			
			//如果当前数量少于等于最少数量的话就等于最少数量
			var mostdecimal = obj.attr("mostdecimal");
			if(eval(mostdecimal)<=eval(obj.parent().find(".text-amount").val())){
				obj.parent(".item-amount").nextAll(".quantitativeSpan").hide();
			}
			
			// 在原来的数量基础上+1
			var num = Number(obj.parent().find(".text-amount").val())+1,
				sign = obj.parent().attr("data-sid"), // 商品id
			
				// 根据id获取父级元素class为item-holder的div
				father = $(".item-holder[data-sid="+sign+"]"),
				price = Number(father.find(".td-price em").text()), // 单价
				totalprice = num*price; // 单个商品的总价格
			
			if(!price)price=0;
			if(!totalprice)totalprice=0;
			
			// 当商品数量大于1,减号可以点击
			if(num>1){
				obj.parent().find(".minus").removeClass("no-minus");
			}
			
			father.find(".text-amount").val(num); // 更改数量
			father.find(".td-sum em").text(totalprice.toFixed(2)); // 更改单个商品的总价格
			
			// 选中几件商品的数量
            var num = $(".cart-checkbox1 input[type='checkbox']:checked").parent().parent().parent().nextAll(".td-amount").find(".text-amount"),
            	number = Number(0);
            for(var i=0;i<num.length;i++){
            	number+=Number($(num[i]).val());
            }
            $("#J_SelectedItemsCount").text(number);
			
			// 当该商品为选中状态时
			if(father.find(".cart-checkbox1 input").prop("checked")){
				
				// 更新所有商品的总价格
				
				var oldprice = Number($(".price-sum em").text()).toFixed(2);
				$(".price-sum em").text((Number(oldprice)+Number(price)).toFixed(2));
			}
		},
		
		// 设备数量-1
		equipment_reduce_one:function(obj) {
			
			//如果当前数量少于等于最少数量的话就等于最少数量
			var mostdecimal = obj.attr("mostdecimal");
			if(eval(mostdecimal)>=eval(obj.parent().find(".text-amount").val())){
				obj.parent().find(".text-amount").val(mostdecimal);
				obj.parent(".item-amount").nextAll(".quantitativeSpan").show();
				return;
			}else{
				obj.parent(".item-amount").nextAll(".quantitativeSpan").hide();
			}
			
			// 当商品数量大于1时为true
			if(obj.parent().find(".text-amount").val()>1){
				
				// 在原来的数量基础上-1
				var num = Number(obj.parent().find(".text-amount").val())-1,
					sign = obj.parent().attr("data-sid"), // 商品id
					
					// 根据id获取父级元素class为item-holder的div
					father = $(".item-holder[data-sid="+sign+"]"),
					price = Number(father.find(".td-price em").text()), // 商品单价
					totalprice = num*price; // 单个商品总价
				if(!price)price=0;
				if(!totalprice)totalprice=0;
				
				if(num==1){
					father.find(".item-amount .minus").addClass("no-minus");
				}
				father.find(".text-amount").val(num); // 更改数量
				father.find(".td-sum em").text(totalprice.toFixed(2)); // 更改总价
				
				// 选中几件商品的数量
                var num = $(".cart-checkbox1 input[type='checkbox']:checked").parent().parent().parent().nextAll(".td-amount").find(".text-amount"),
                	number = Number(0);
                for(var i=0;i<num.length;i++){
                	number+=Number($(num[i]).val());
                }
                $("#J_SelectedItemsCount").text(number);
				
				// 当该商品为选中状态时
				if(father.find(".cart-checkbox1 input").prop("checked")){
					
					// 更结算时需要的那个总价格
					
					var oldprice = Number($(".price-sum em").text()).toFixed(2);
					$(".price-sum em").text((Number(oldprice)-Number(price)).toFixed(2));
				}
			}
		},
		
		// 计算价格后对“结算”按钮是否可点击追加样式
		changeButton:function (price){
            if(Number(price)==0){
                $(".submit-btn").addClass("submit-btn-disabled");
            }else{
                $(".submit-btn").removeClass("submit-btn-disabled");
            }
        },
        
        // 删除商品
        delete_cart:function(obj) {
        	var father = obj.parent().parent(), // 删除a标签的父级元素，li标签
        		sid = father.attr("data-sid"),
        		equid=father.attr("data-code"), // 商品id
        		pricetype=father.attr("data-type"); // “xianhuo”
        		sum=father.prevAll(".td-amount").find(".text-amount").val();//获取删除数据的数量
        	layer.confirm('确定要删除吗', {
				icon : 4,
				title : '提示'
			}, function(index) {
				
					
				layer.msg("删除成功！",{icon: 1,time:1000});
	            var father = obj.parent().parent().parent().parent();
	            
	            // 删除数据库后，获取删除商品的价格，
	            if(father.find(".cart-checkbox1 input").prop("checked")){
	            	
	            	// 删除的商品的总价格
	                var minus = Number(father.find(".td-sum em").text());
	                
	                // 更新所有商品的总价格
	                $(".price-sum em").text(Number($(".price-sum em").text())-minus);
	                
	                // 更新所有商品的数量
	                $("#J_SelectedItemsCount").text(Number($("#J_SelectedItemsCount").text())-sum);
	            }
	            
	            // 删除商品的html
	            obj.parent().parent().parent().parent().parent().remove();
	            
	            //更新购物车显示数量
	            
	            // 判断价格，判断结算是否可选
                list.method.judgePrice();
					
				layer.close(index);
			});
        },
        
        // 拼接更新商品数量以及总价格的参数
        updateNum_param:function(){
        	
        	// 要修改的商品[{},..]
        	var param = [],
        	
        	// 需要结算的商品id
        		idList = "";
        	
        	$(".bundle>.selected").each(function(i){
        		var equid = $(this).attr("data-sid"), // 购物车表id
        			num = $(this).find(".text-amount").val(), // 商品数量
        			price_type = $(this).find(".text-amount").parent().attr("price-type"), // 商品类型：xianhuo
        			dataCode = $(this).attr("data-code"),//获取商品表id
        			commodity = {"equid":equid,"num":num,"model":"shopcart","pricetype":price_type,"dataCode":dataCode};
        			idList+=equid+",";
        		param.push(commodity);
        	});

        },

        
        // 计算所有商品的总价格
        calculation_price:function() {
        	var inputs = $(".cart-checkbox1 input"), // 每个商品id
        	
        		//计算合计价格
           		sumDom = $(".item-holder .td-sum em"),
            	sum = Number(0);
            for(var i=0;i<sumDom.length;i++){
                sum+=Number($(sumDom[i]).text());
            }
            inputs.prop("checked",true);
            $(".select_checkbox").prop("checked",true);
            $(".item-holder").addClass("selected");
            
            // 选中几件商品的数量
            var num = $(".cart-checkbox1 input[type='checkbox']:checked").parent().parent().parent().nextAll(".td-amount").find(".text-amount"),
            	number = Number(0);
            for(var i=0;i<num.length;i++){
            	number+=Number($(num[i]).val());
            }
            $("#J_SelectedItemsCount").text(number);
            $(".price-sum em").text(sum);
            
            // 判断价格，判断结算是否可选
            list.method.judgePrice();
        },
        
        // 页面加载完执行价格计算
        calculation:function() {
        	
        	// 计算每个商品的总价格
        	$(".bundle .item-content").each(function(i){
        		var price = $(this).find(".J_Price").text(), // 商品单价
        			number = $(this).find(".text-amount").val(); // 商品数量
        		$(this).find(".price").text((price*number).toFixed(2));
        	});
        	
        	// 计算所有商品的总价格
            list.method.calculation_price();
        },
        
        //清空购物车
        deleteShopCartAll : function(){
/*        	$(".clickClearShopCart").click(function(){
        		var userId=$(this).attr("userId");
    			layer.alert("删除后无法恢复，确定删除吗？",function(){
    				$.ajax({
    					url : "../cart/deleteShopCartAll.htm",
    					data : {
    						"userId" : userId
    					},
    					cache : false,
    					type : "post",
    					dataType : "json",
    					success : function(data) {
    						if(data){
    							location.reload(true);
    						}else{
    							layer.alert('删除失败！', 3);
    						}
    					},
    					error : function(errdata, request, settings) {
    						layer.alert('后台发生异常，请联系管理员！', 3);
    					}
    				});
    			});
        	});*/
        }
	}
}
	
	
	
	
	
	
	
	
	
	
	
	
	